package cn.frontop.funswitch.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 指标表
 *
 * @author Yun
 * @email Yun@frontop.cn
 * @date 2022-10-19 15:41:15
 */
@Data
@TableName("index_config")
public class IndexConfigEntity implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 创建时间
     */
    private Date createdTime = new Date();
    /**
     * 更新时间
     */
    private Date updatedTime = new Date();
    /**
     * 主键 主键
     */
    @TableId(type = IdType.AUTO)
    private Integer id;
    /**
     * 所属项目 项目id
     */
    private Integer projectId;
    /**
     * 请求路径 域名后面的路径
     */
    private String url;
    /**
     * 使用token 使用的tokenID
     */
    private Integer tokenId;
    /**
     * 请求方式 请求方式如get，post
     */
    private String requestType;
    /**
     * 私有头信息 私有头信息一般是不会再有专门接口的私有信息
     */
    private String privateHeader;
    /**
     * 过滤字段 集合类型的需要报错的key
     */
    private String exclude;
    /**
     * json_path 利用jsonPath作为第一层数据处理
     */
    private String jsonPath;
    /**
     * 请求body 请求body数据
     */
    private String body;
    /**
     * 动态参数 动态请求参数从接口的body获取这里配置需要拿取的key
     */
    private String param;
    /**
     * JS脚本 最终处理方案
     */
    private String jsScript;
    /**
     * 转换参数 转换字段
     */
    private String mapKey;
    /**
     * 类型 0.普通类型(值过滤,key转换) 1.对象转集合() 2.过滤集合转对象 3.分组
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Integer type;
    /**
     * 名称
     */
    private String name;
    /**
     * 模拟参数
     */
    private String mock;
    /**
     * 方法id
     */
    private Integer functionId;
}
